// Tool-using Agent 交互式入口
import { ToolUsingAgent } from "./Tool-agent";
import * as readline from 'readline'; // 统一使用ES Module引入

// 创建readline接口
const rl = readline.createInterface({
  input: process.stdin,
  output: process.stdout
});

// 初始化Agent
const agent = new ToolUsingAgent();

// 交互式提问函数
const askQuestion = () => {
  rl.question('👤 请输入你的问题 (输入 quit/exit 退出): ', async (input: string) => {
    // 处理退出命令
    if (input.toLowerCase() === 'quit' || input.toLowerCase() === 'exit') {
      console.log('👋 再见！');
      rl.close();
      return;
    }

    // 处理空输入
    if (!input.trim()) {
      console.log("⚠️ 输入不能为空，请重新输入\n");
      askQuestion();
      return;
    }

    // 处理用户问题
    try {
      console.log("🤔 正在处理...\n");
      const result = await agent.run(input.trim());
      console.log(`\n🎯 回答: ${result}\n`);
    } catch (error) {
      console.error(`\n❌ 处理失败: ${error instanceof Error ? error.message : String(error)}\n`);
    }

    // 继续提问
    askQuestion();
  });
};

// 启动交互
console.log("🚀 Tool-using Agent 启动成功");
console.log("提示：输入问题获取答案，输入 'quit' 或 'exit' 退出程序\n");
askQuestion();